@@ -92,7 +92,6 @@  | 
            ||
| 92 | 92 | 
                 		0513100021CA1B39004EF1BE /* CLLocationExt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0543272821C68C1900C6388D /* CLLocationExt.swift */; };
               | 
            
| 93 | 93 | 
                 		0513100121CA1B39004EF1BE /* CGPointExt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0543272921C68C1900C6388D /* CGPointExt.swift */; };
               | 
            
| 94 | 94 | 
                 		0513100221CA1B39004EF1BE /* CGSizeExt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0543272A21C68C1900C6388D /* CGSizeExt.swift */; };
               | 
            
| 95 | 
                -		0513100721CA1B39004EF1BE /* UIViewController+UIBarButtonItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = A6CCC0581E793DD0004BCC9D /* UIViewController+UIBarButtonItem.swift */; };
               | 
            |
| 96 | 95 | 
                 		0513100A21CA1B39004EF1BE /* UIBarButtonItemExt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0543272E21C68C1900C6388D /* UIBarButtonItemExt.swift */; };
               | 
            
| 97 | 96 | 
                 		0513100B21CA1B39004EF1BE /* UIColorExt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0543272F21C68C1900C6388D /* UIColorExt.swift */; };
               | 
            
| 98 | 97 | 
                 		0513100F21CA1B39004EF1BE /* UIViewExt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0543273321C68C1900C6388D /* UIViewExt.swift */; };
               | 
            
                @@ -198,6 +197,7 @@  | 
            ||
| 198 | 197 | 
                 		0572B2C921E30D8000EAD2A2 /* PhotoCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 054863671FA326CB00A39DA0 /* PhotoCell.xib */; };
               | 
            
| 199 | 198 | 
                 		057317A221F5C6A0009B2FCE /* BottomDefaultItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 057317A121F5C6A0009B2FCE /* BottomDefaultItem.swift */; };
               | 
            
| 200 | 199 | 
                 		057317A421F5C6C0009B2FCE /* BottomCancelItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 057317A321F5C6C0009B2FCE /* BottomCancelItem.swift */; };
               | 
            
| 200 | 
                +		057550BC22754ECB007A265D /* UINavigationItem+UIBarButttonItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 057550BB22754ECB007A265D /* UINavigationItem+UIBarButttonItem.swift */; };
               | 
            |
| 201 | 201 | 
                 		057CA9BA21DC836B00FB7D03 /* GroupPhotoRemoteAPI.swift in Sources */ = {isa = PBXBuildFile; fileRef = 057CA9B921DC836B00FB7D03 /* GroupPhotoRemoteAPI.swift */; };
               | 
            
| 202 | 202 | 
                 		057CA9BC21DC855700FB7D03 /* UploadResource.swift in Sources */ = {isa = PBXBuildFile; fileRef = 057CA9BB21DC855700FB7D03 /* UploadResource.swift */; };
               | 
            
| 203 | 203 | 
                 		057CA9C621DCA2C900FB7D03 /* PhotoRepository.swift in Sources */ = {isa = PBXBuildFile; fileRef = 057CA9C521DCA2C900FB7D03 /* PhotoRepository.swift */; };
               | 
            
                @@ -208,7 +208,7 @@  | 
            ||
| 208 | 208 | 
                 		0584FD7721F9C8A300FA1E3E /* PresentAnimatorDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0584FD7621F9C8A300FA1E3E /* PresentAnimatorDelegate.swift */; };
               | 
            
| 209 | 209 | 
                 		0584FD7C21FABC1400FA1E3E /* PresentExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0584FD7B21FABC1400FA1E3E /* PresentExtension.swift */; };
               | 
            
| 210 | 210 | 
                 		0584FD7E21FABD9D00FA1E3E /* PresentViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0584FD7D21FABD9D00FA1E3E /* PresentViewController.swift */; };
               | 
            
| 211 | 
                -		058C33EE2272F7BE00A435E9 /* UINavigationController + NavigationBack.swift in Sources */ = {isa = PBXBuildFile; fileRef = 058C33ED2272F7BE00A435E9 /* UINavigationController + NavigationBack.swift */; };
               | 
            |
| 211 | 
                +		058C33EE2272F7BE00A435E9 /* UINavigationController+NavigationBack.swift in Sources */ = {isa = PBXBuildFile; fileRef = 058C33ED2272F7BE00A435E9 /* UINavigationController+NavigationBack.swift */; };
               | 
            |
| 212 | 212 | 
                 		058D0C9D2249C94F006CA488 /* CoordinatorKey.swift in Sources */ = {isa = PBXBuildFile; fileRef = 058D0C9C2249C94F006CA488 /* CoordinatorKey.swift */; };
               | 
            
| 213 | 213 | 
                 		058D0CA02249FCF6006CA488 /* Toast.swift in Sources */ = {isa = PBXBuildFile; fileRef = 053E126A21F5696E00A64893 /* Toast.swift */; };
               | 
            
| 214 | 214 | 
                 		058D0CA12249FCF6006CA488 /* ToastView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0521145321F083F20047C55A /* ToastView.swift */; };
               | 
            
                @@ -451,6 +451,7 @@  | 
            ||
| 451 | 451 | 
                 		0572B2C021E2FB3E00EAD2A2 /* WXApi.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WXApi.h; sourceTree = "<group>"; };
               | 
            
| 452 | 452 | 
                 		057317A121F5C6A0009B2FCE /* BottomDefaultItem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BottomDefaultItem.swift; sourceTree = "<group>"; };
               | 
            
| 453 | 453 | 
                 		057317A321F5C6C0009B2FCE /* BottomCancelItem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BottomCancelItem.swift; sourceTree = "<group>"; };
               | 
            
| 454 | 
                +		057550BB22754ECB007A265D /* UINavigationItem+UIBarButttonItem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UINavigationItem+UIBarButttonItem.swift"; sourceTree = "<group>"; };
               | 
            |
| 454 | 455 | 
                 		0578947E20D264B300A9F773 /* MessageViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MessageViewController.swift; sourceTree = "<group>"; };
               | 
            
| 455 | 456 | 
                 		057CA9B921DC836B00FB7D03 /* GroupPhotoRemoteAPI.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GroupPhotoRemoteAPI.swift; sourceTree = "<group>"; };
               | 
            
| 456 | 457 | 
                 		057CA9BB21DC855700FB7D03 /* UploadResource.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UploadResource.swift; sourceTree = "<group>"; };
               | 
            
                @@ -462,7 +463,7 @@  | 
            ||
| 462 | 463 | 
                 		0584FD7621F9C8A300FA1E3E /* PresentAnimatorDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PresentAnimatorDelegate.swift; sourceTree = "<group>"; };
               | 
            
| 463 | 464 | 
                 		0584FD7B21FABC1400FA1E3E /* PresentExtension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PresentExtension.swift; sourceTree = "<group>"; };
               | 
            
| 464 | 465 | 
                 		0584FD7D21FABD9D00FA1E3E /* PresentViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PresentViewController.swift; sourceTree = "<group>"; };
               | 
            
| 465 | 
                -		058C33ED2272F7BE00A435E9 /* UINavigationController + NavigationBack.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UINavigationController + NavigationBack.swift"; sourceTree = "<group>"; };
               | 
            |
| 466 | 
                +		058C33ED2272F7BE00A435E9 /* UINavigationController+NavigationBack.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UINavigationController+NavigationBack.swift"; sourceTree = "<group>"; };
               | 
            |
| 466 | 467 | 
                 		058D0C9C2249C94F006CA488 /* CoordinatorKey.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CoordinatorKey.swift; sourceTree = "<group>"; };
               | 
            
| 467 | 468 | 
                 		0594845721B528FE00074EFC /* Interfaces.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Interfaces.swift; sourceTree = "<group>"; };
               | 
            
| 468 | 469 | 
                 		059AA5D921BA1A2000485188 /* MessageCoordinator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MessageCoordinator.swift; sourceTree = "<group>"; };
               | 
            
                @@ -555,7 +556,6 @@  | 
            ||
| 555 | 556 | 
                 		A69FFB8F1E7018CC0006FEE0 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Main.storyboard; sourceTree = "<group>"; };
               | 
            
| 556 | 557 | 
                 		A69FFB911E7018CC0006FEE0 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Message.storyboard; sourceTree = "<group>"; };
               | 
            
| 557 | 558 | 
                 		A69FFB931E7018CC0006FEE0 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Mine.storyboard; sourceTree = "<group>"; };
               | 
            
| 558 | 
                -		A6CCC0581E793DD0004BCC9D /* UIViewController+UIBarButtonItem.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIViewController+UIBarButtonItem.swift"; sourceTree = "<group>"; };
               | 
            |
| 559 | 559 | 
                /* End PBXFileReference section */  | 
            
| 560 | 560 | 
                 | 
            
| 561 | 561 | 
                /* Begin PBXFrameworksBuildPhase section */  | 
            
                @@ -940,8 +940,8 @@  | 
            ||
| 940 | 940 | 
                children = (  | 
            
| 941 | 941 | 
                0513105F21CA1E53004EF1BE /* UIStoryboardExt.swift */,  | 
            
| 942 | 942 | 
                05C8D21A21ED9A020001E847 /* UIViewController+Navigation.swift */,  | 
            
| 943 | 
                - A6CCC0581E793DD0004BCC9D /* UIViewController+UIBarButtonItem.swift */,  | 
            |
| 944 | 943 | 
                0543272E21C68C1900C6388D /* UIBarButtonItemExt.swift */,  | 
            
| 944 | 
                + 057550BB22754ECB007A265D /* UINavigationItem+UIBarButttonItem.swift */,  | 
            |
| 945 | 945 | 
                0543272F21C68C1900C6388D /* UIColorExt.swift */,  | 
            
| 946 | 946 | 
                0543273321C68C1900C6388D /* UIViewExt.swift */,  | 
            
| 947 | 947 | 
                0543273421C68C1900C6388D /* UIViewControllerExt.swift */,  | 
            
                @@ -1048,7 +1048,7 @@  | 
            ||
| 1048 | 1048 | 
                isa = PBXGroup;  | 
            
| 1049 | 1049 | 
                children = (  | 
            
| 1050 | 1050 | 
                0500C26421E8644E009A7013 /* NavigationBackItemDelegate.swift */,  | 
            
| 1051 | 
                - 058C33ED2272F7BE00A435E9 /* UINavigationController + NavigationBack.swift */,  | 
            |
| 1051 | 
                + 058C33ED2272F7BE00A435E9 /* UINavigationController+NavigationBack.swift */,  | 
            |
| 1052 | 1052 | 
                );  | 
            
| 1053 | 1053 | 
                path = NavigationBack;  | 
            
| 1054 | 1054 | 
                sourceTree = "<group>";  | 
            
                @@ -1614,12 +1614,11 @@  | 
            ||
| 1614 | 1614 | 
                0584FD7521F9C70D00FA1E3E /* SideAnimator.swift in Sources */,  | 
            
| 1615 | 1615 | 
                0584FD7721F9C8A300FA1E3E /* PresentAnimatorDelegate.swift in Sources */,  | 
            
| 1616 | 1616 | 
                059B589F21F7103100FA64C2 /* AlertItem.swift in Sources */,  | 
            
| 1617 | 
                - 058C33EE2272F7BE00A435E9 /* UINavigationController + NavigationBack.swift in Sources */,  | 
            |
| 1617 | 
                + 058C33EE2272F7BE00A435E9 /* UINavigationController+NavigationBack.swift in Sources */,  | 
            |
| 1618 | 1618 | 
                059B58A621F7235D00FA64C2 /* AlertAction.swift in Sources */,  | 
            
| 1619 | 1619 | 
                0513109821CA3915004EF1BE /* QRCodeScanResult.swift in Sources */,  | 
            
| 1620 | 1620 | 
                0513100221CA1B39004EF1BE /* CGSizeExt.swift in Sources */,  | 
            
| 1621 | 1621 | 
                0513109A21CA3915004EF1BE /* QRCodeScanView.swift in Sources */,  | 
            
| 1622 | 
                - 0513100721CA1B39004EF1BE /* UIViewController+UIBarButtonItem.swift in Sources */,  | 
            |
| 1623 | 1622 | 
                05D3A3C621FF010900A29A20 /* WebViewController.swift in Sources */,  | 
            
| 1624 | 1623 | 
                0500C26521E8644E009A7013 /* NavigationBackItemDelegate.swift in Sources */,  | 
            
| 1625 | 1624 | 
                057317A221F5C6A0009B2FCE /* BottomDefaultItem.swift in Sources */,  | 
            
                @@ -1668,6 +1667,7 @@  | 
            ||
| 1668 | 1667 | 
                05C5285821FE995F0090ECB5 /* GestureRecognizerDelegate.swift in Sources */,  | 
            
| 1669 | 1668 | 
                05130F6321C94C7A004EF1BE /* SideViewController.swift in Sources */,  | 
            
| 1670 | 1669 | 
                05130F6421C94C7A004EF1BE /* PageViewController.swift in Sources */,  | 
            
| 1670 | 
                + 057550BC22754ECB007A265D /* UINavigationItem+UIBarButttonItem.swift in Sources */,  | 
            |
| 1671 | 1671 | 
                );  | 
            
| 1672 | 1672 | 
                runOnlyForDeploymentPostprocessing = 0;  | 
            
| 1673 | 1673 | 
                };  | 
            
                @@ -32,7 +32,7 @@ public extension UIBarButtonItem {
               | 
            ||
| 32 | 32 | 
                }  | 
            
| 33 | 33 | 
                 | 
            
| 34 | 34 | 
                     convenience init(titles: [String], btnSpace: CGFloat, target: Any, actions: [Selector]) {
               | 
            
| 35 | 
                - let barView = UIView(frame: CGRect(x: 0, y: 0, width: 100, height: 44))  | 
            |
| 35 | 
                + let barView = UIView(frame: CGRect(x: 0, y: 0, width: 100, height: 36))  | 
            |
| 36 | 36 | 
                var lastX: CGFloat = 0  | 
            
| 37 | 37 | 
                         for (title, action) in zip(titles, actions) {
               | 
            
| 38 | 38 | 
                let button = UIButton(type: .custom)  | 
            
                @@ -55,7 +55,7 @@ public extension UIBarButtonItem {
               | 
            ||
| 55 | 55 | 
                 | 
            
| 56 | 56 | 
                         for (target, (image, action)) in zip(targets, zip(images, actions)) {
               | 
            
| 57 | 57 | 
                let button = UIButton(type: .custom)  | 
            
| 58 | 
                - button.frame = CGRect(x: lastX, y: 2, width: 36, height: 36)  | 
            |
| 58 | 
                + button.frame = CGRect(x: lastX, y: 0, width: 36, height: 36)  | 
            |
| 59 | 59 | 
                button.setImage(image, for: .normal)  | 
            
| 60 | 60 | 
                button.addTarget(target, action: action, for: .touchDown)  | 
            
| 61 | 61 | 
                barView.addSubview(button)  | 
            
                @@ -0,0 +1,29 @@  | 
            ||
| 1 | 
                +//  | 
            |
| 2 | 
                +// UINavigationItem+UIBarButttonItem.swift  | 
            |
| 3 | 
                +// PaiaiUIKit  | 
            |
| 4 | 
                +//  | 
            |
| 5 | 
                +// Created by ffib on 2019/4/28.  | 
            |
| 6 | 
                +// Copyright © 2019 FFIB. All rights reserved.  | 
            |
| 7 | 
                +//  | 
            |
| 8 | 
                +  | 
            |
| 9 | 
                +import UIKit  | 
            |
| 10 | 
                +  | 
            |
| 11 | 
                +public extension UINavigationItem {
               | 
            |
| 12 | 
                +    func setRightItem(_ item: UIBarButtonItem) {
               | 
            |
| 13 | 
                +        if #available(iOS 11, *) {
               | 
            |
| 14 | 
                + rightBarButtonItem = item  | 
            |
| 15 | 
                +        } else {
               | 
            |
| 16 | 
                + let space = UIBarButtonItem(space: -15)  | 
            |
| 17 | 
                + rightBarButtonItems = [space, item]  | 
            |
| 18 | 
                + }  | 
            |
| 19 | 
                + }  | 
            |
| 20 | 
                +  | 
            |
| 21 | 
                +    func setLeftItem(_ item: UIBarButtonItem) {
               | 
            |
| 22 | 
                +        if #available(iOS 11, *) {
               | 
            |
| 23 | 
                + leftBarButtonItem = item  | 
            |
| 24 | 
                +        } else {
               | 
            |
| 25 | 
                + let space = UIBarButtonItem(space: -15)  | 
            |
| 26 | 
                + leftBarButtonItems = [space, item]  | 
            |
| 27 | 
                + }  | 
            |
| 28 | 
                + }  | 
            |
| 29 | 
                +}  | 
            
                @@ -1,18 +0,0 @@  | 
            ||
| 1 | 
                -//  | 
            |
| 2 | 
                -// UIViewController+UIBarButtonItem.swift  | 
            |
| 3 | 
                -// PaiAi  | 
            |
| 4 | 
                -//  | 
            |
| 5 | 
                -// Created by mac on 16/7/21.  | 
            |
| 6 | 
                -// Copyright © 2016年 FFIB. All rights reserved.  | 
            |
| 7 | 
                -//  | 
            |
| 8 | 
                -  | 
            |
| 9 | 
                -import UIKit  | 
            |
| 10 | 
                -  | 
            |
| 11 | 
                -public extension UIViewController {
               | 
            |
| 12 | 
                -    func setRightBarButtonItem(image: UIImage?, action: Selector) {
               | 
            |
| 13 | 
                - let button = UIButton(type: .custom)  | 
            |
| 14 | 
                - button.setImage(image, for: .normal)  | 
            |
| 15 | 
                - button.addTarget(self, action: action, for: .touchDown)  | 
            |
| 16 | 
                - navigationItem.rightBarButtonItem = UIBarButtonItem(customView: button)  | 
            |
| 17 | 
                - }  | 
            |
| 18 | 
                -}  | 
            
                @@ -1,5 +1,5 @@  | 
            ||
| 1 | 1 | 
                //  | 
            
| 2 | 
                -// UINavigationController + NavigationBack.swift  | 
            |
| 2 | 
                +// UINavigationController+NavigationBack.swift  | 
            |
| 3 | 3 | 
                // PaiaiUIKit  | 
            
| 4 | 4 | 
                //  | 
            
| 5 | 5 | 
                // Created by ffib on 2019/4/26.  | 
            
                @@ -72,11 +72,7 @@ public final class ContainerViewController: PageViewController {
               | 
            ||
| 72 | 72 | 
                     func constructNavigationViewHierarchy() {
               | 
            
| 73 | 73 | 
                navigationContentView.addSubview(iconView)  | 
            
| 74 | 74 | 
                navigationContentView.addSubview(headerView)  | 
            
| 75 | 
                - let leftItem = UIBarButtonItem(customView: navigationContentView)  | 
            |
| 76 | 
                - let spaceItem = UIBarButtonItem(barButtonSystemItem: .fixedSpace, target: nil, action: nil)  | 
            |
| 77 | 
                - spaceItem.width = -15  | 
            |
| 78 | 
                -  | 
            |
| 79 | 
                - navigationItem.leftBarButtonItems = [spaceItem, leftItem]  | 
            |
| 75 | 
                + navigationItem.setLeftItem(UIBarButtonItem(customView: navigationContentView))  | 
            |
| 80 | 76 | 
                }  | 
            
| 81 | 77 | 
                }  | 
            
| 82 | 78 | 
                 | 
            
                @@ -34,7 +34,7 @@ final class GroupDetailViewController: UIViewController {
               | 
            ||
| 34 | 34 | 
                 | 
            
| 35 | 35 | 
                     func setRightBarButtonItems() {
               | 
            
| 36 | 36 | 
                let item = UIBarButtonItem(image: UIImage(named: "navigation-right"), target: self, action: #selector(quit))  | 
            
| 37 | 
                - navigationItem.rightBarButtonItem = item  | 
            |
| 37 | 
                + navigationItem.setRightItem(item)  | 
            |
| 38 | 38 | 
                }  | 
            
| 39 | 39 | 
                 | 
            
| 40 | 40 | 
                     @objc func quit() {
               | 
            
                @@ -171,8 +171,7 @@ extension GroupViewController {
               | 
            ||
| 171 | 171 | 
                targets: [self, viewModel!],  | 
            
| 172 | 172 | 
                actions: [#selector(GroupViewController.presentGroupQR),  | 
            
| 173 | 173 | 
                #selector(GroupViewModel.navigateToGroupDetail)])  | 
            
| 174 | 
                -  | 
            |
| 175 | 
                - navigationItem.rightBarButtonItem = item  | 
            |
| 174 | 
                + navigationItem.setRightItem(item)  | 
            |
| 176 | 175 | 
                }  | 
            
| 177 | 176 | 
                 | 
            
| 178 | 177 | 
                     @objc func presentGroupQR() {
               | 
            
                @@ -53,7 +53,8 @@ final class MessageListViewController: UIViewController {
               | 
            ||
| 53 | 53 | 
                 | 
            
| 54 | 54 | 
                     private func setupNavigationBar() {
               | 
            
| 55 | 55 | 
                navigationItem.title = type.model.title  | 
            
| 56 | 
                - setRightBarButtonItem(image: UIImage.Navigation.right, action: #selector(clearMessage))  | 
            |
| 56 | 
                + let rightItem = UIBarButtonItem(image: UIImage.Navigation.right, target: self, action: #selector(clearMessage))  | 
            |
| 57 | 
                + navigationItem.setRightItem(rightItem)  | 
            |
| 57 | 58 | 
                }  | 
            
| 58 | 59 | 
                 | 
            
| 59 | 60 | 
                     private func setup() {
               |